Image display processing apparatus, an image display processing method, and an information providing medium

ABSTRACT

To display a window for displaying auxiliary information near a window for displaying main information. When a drag operation is performed to move a multiuser window to a predetermined position and display there, if the distance of the multiuser window to the main window when the drag operation is cleared is within reference value L R  and the distance of the top side of the multiuser window to the top side of the main window is within reference value H R , then the multiuser window is automatically moved such that the side of the multiuser window comes in contact with the side of the main window and the top end of the multiuser window comes in alignment with the top end of the main window on a horizontal line.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to an image display processingapparatus, an image display processing method, and an informationproviding medium and, more particularly, to an image display processingapparatus, an image display processing method, and an informationproviding medium that allow efficient arrangement of a three-dimensionalvirtual reality space image and a plurality of windows for displayingaccompanying information associated with this space by effective use ofa display screen.

2. Description of Related Art

A cyberspace service named Habitat (trademark) is known in the so-calledpersonal computer communications services such as NIFTY-Serve(trademark) of Japan and CompuServe (trademark) of US in which aplurality of users connect their personal computers via modems andpublic telephone network to the host computers installed at the centersof the services to access them in predetermined protocols. Developmentof Habitat started in 1985 by Lucas Film of the US, operated by QuantumLink, one of US commercial networks, for about three years. Then,Habitat started its service in NIFTY-Serve as Fujitsu Habitat(trademark) in February 1990. In Habitat, users can send their alteregos called avatars (the incarnation of a god figuring in the Hindumythology) into a virtual city called Populopolis drawn bytwo-dimensional graphics to have a chat (namely, a realtime conversationbased on text entered and displayed) with each other. For furtherdetails of Habitat, refer to the Japanese translation of “Cyberspace:First Steps,” Michael Be nedikt, ed., 1991, MIT Press Cambridge, Mass.,ISBNO-262-02327-X, the translation being published Mar. 20, 1994, by NTTPublishing, ISBN4-87188-265-9C0010, pp. 282-307.

In order to implement the above-mentioned cyberspace system by use ofthe infrastructure of the Internet through which information can betransferred all over the world, standardization of a three-dimensionalgraphics description language called VRML (Virtual Reality ModelingLanguage) is proceeding.

In WWW (World Wide Web) of the Internet, document data can be describedin HTML (Hyper Text Markup Language) and the resultant HTML file can bestored in a WWW server. This HTML file can be transferred on demand by aclient terminal and can be displayed by use of the HTML browser of thatclient terminal.

Like this HTML file, three-dimensional graphics data can be described inVRML and the resultant VRML file can be stored in a WWW server. ThisVRML file can be transferred on demand by a client terminal and can bedisplayed by use of the VRML browser of that client terminal.

If, when a user who uses (mainly looks at) a three-dimensional virtualreality space through the above-mentioned VRML browser for example andis moving his or her avatar, meets an avatar of another user, the usercan chat with another user.

For example, a chat service called Worlds Chat (trademark) developed byWorlds Inc. of US and made commercially available from April 1995 isused to make chat. This Worlds Chat supports chat in a three-dimensionalvirtual reality space based on the company's own standard, allowing auser to freely move in a virtual space of a fictitious space station tochat realtime in the form of text with another user in the spacestation.

In order to move avatars for enjoyment in such a three-dimensionalvirtual reality space, as many windows as possible must be displayed.

In the ordinary system, however, the display positions of windows arearranged to predetermined positions by a user with a mouse or the like,so that many windows cannot be efficiently displayed in a single limitedscreen. If a plurality of windows are displayed in such a single limitedscreen, the displayed windows overlap each other, thereby disabling theuser to recognize an image of a window hidden under another.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to efficient andquickly arrange a plurality of windows in a single screen.

In carrying out the invention and according to one aspect thereof, thereare provided an image display processing apparatus described in claim 1,an image display processing method described in claim 5, and aninformation providing medium described in claim 6, the image displayprocessing apparatus for displaying in a single display window a mainwindow for displaying main information and a sub window for displayingaccompanying information associated with said main informationcomprising a display position moving means for moving a display positionof said sub window to a user-specified position; and an automaticarrangement changing means for automatically changing, if a separateddistance of said sub window displayed at a display position moved bysaid display position moving means to said main window is within apreset predetermined value, arrangement of said sub window to a positionadjacent to said main window.

The above-mentioned novel constitution allows efficient arrangement aplurality of windows by effective use of a display screen.

It should be noted that the information providing medium herein denotesnot only package media such as a floppy disk and a CD-ROM in whichcomputer programs are stored but also a transmission medium by which acomputer program is downloaded via a network such as the Internet forexample.

In the following description, an object “avatar” representing user'salter ego can move around inside a virtual reality space, enter in andwalk off it. The avatar can change (or update) its states inside avirtual reality space. Therefore, such an object is hereafter referredto as an update object appropriately. On the other hand, an objectrepresentative of a building constituting a town in the virtual realityspace is used commonly by a plurality of users and does not change inits basic state. Even if the building object changes, it changesautonomously, namely it changes independent of the operations made atclient terminals. Such an object commonly used by a plurality of usersis appropriately called a basic object hereafter.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the presentinvention will be apparent from the following detailed description ofthe preferred embodiments of the invention in conjugation with theaccompanying drawings, in which:

FIG. 1 is a block diagram illustrating a cyberspace system practiced asone preferred embodiment of the invention;

FIG. 2 describes WWW (World Wide Web);

FIG. 3 is a diagram illustrating an example of a URL (Uniform ResourceLocator);

FIG. 4 is a block diagram illustrating an example of the constitution ofan information server terminal 10 of FIG. 1;

FIG. 5 is a block diagram illustrating an example of the constitution ofa shared server terminal 11 of FIG.

FIG. 6 is a block diagram illustrating an example of the constitution ofa mapping server terminal 12 of FIG. 1;

FIG. 7 is a block diagram illustrating an example of the constitution ofa client terminal 13 of FIG. 1;

FIG. 8 is a block diagram illustrating an example of the constitution ofa server provider terminal 14 of FIG. 1;

FIG. 9 describes a virtual reality space formed by the cyberspace systemof FIG. 1;

FIG. 10 describes a view field seen from avatar C of FIG. 9;

FIG. 11 describes a view field seen from avatar D of FIG. 9;

FIG. 12 describes an allocated space of a part of the cyberspace systemof FIG. 1;

FIG. 13 describes a view field seen from avatar C of FIG. 12;

FIG. 14 describes a view field seen from avatar F of FIG. 12;

FIG. 15 is a flowchart describing operations of the client terminal 13(the service provider terminal 14) of FIG. 1;

FIG. 16 is a flowchart describing operations of the information serverterminal 10 of FIG. 1;

FIG. 17 is a flowchart describing operations of the mapping serverterminal 12 of FIG. 1;

FIG. 18 is a flowchart describing operations of the shared serverterminal 11 of FIG. 1;

FIG. 19 describes a communication protocol for the communication betweenthe client terminal 13, the information server terminal 10, the sharedserver terminal 11, and the mapping server terminal 12 of FIG. 1;

FIG. 20 describes the case in which a plurality of shared serverterminals exist for controlling update objects arranged in the samevirtual reality space;

FIG. 21 is a block diagram illustrating another example of theconstitution of the client terminal 13 of FIG. 1;

FIG. 22 describes destinations in which basic objects and update objectsare stored;

FIG. 23 describes an arrangement of basic objects and update objects;

FIG. 24 describes software for implementing the cyberspace system ofFIG. 1;

FIG. 25 describes software operating on the client terminal 13-1 of FIG.1 and the shared server terminal 11-1 of FIG. 1;

FIG. 26 describes an environment in which the software of FIG. 25operates;

FIG. 27 is a photograph illustrating a display example on a displaydevice of a client terminal;

FIG. 28 is a flowchart describing operations for changing a displayposition of a multiuser window;

FIG. 29 is a diagram for describing a reference value of a distancebetween a main window and a multiuser window;

FIG. 30 is a diagram for describing an example of automatically movingthe multiuser window horizontally for display;

FIG. 31 is a diagram for describing an example of moving the multiuserwindow horizontally and vertically for display; and

FIG. 32 is a photograph illustrating another display example of thedisplay device on the client terminal.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

This invention will be described in further detail by way of examplewith reference to the accompanying drawings. The basic idea and conceptof a virtual society is described by Hiroaki Kitano, Sony ComputerScience Laboratories, as follows in his home page “Kitano VirtualSociety (V1.0) (http://www.csl,sony.co.jp/person/kitano/VS/concept.j.html.1995)”:

“In the beginning of the 21st century, a virtual society would emerge ina network spanning all the world. People in every part of the world willmake a society in which millions or hundred millions of people live in ashared space created in the network. A society that will emerge beyondthe current Internet, CATV, and the so-called information super highwayis a virtual society that I conceive. In the virtual society, people cannot only perform generally the same social activities as those in thereal world—enjoy shopping, have a chat, play games, do work, and thelike—but also perform things that are possible only in the virtualsociety (for example, moving from Tokyo to Paris in an instant). Such a“society” would be implemented only by state-of-the-art technologiessuch as cyberspace constructing technologies that support a broadbandnetwork, high-quality three-dimensional presentation capability andbidirectional communications of voice, music and moving picture signals,and a large-scale distributed system that allows a lot of people toshare the constructed space.”

For further details, look at the above mentioned home page.

The three-dimensional virtual reality space that implements theabove-mentioned virtual society is a cyberspace system. The actualexamples of the infrastructures for constructing this cyberspace systemincludes, at this point of time, the Internet, which is a world-widecomputer network connected by a communications protocol called TCP/IP(Transmission Control Protocol/Internet Protocol) and the intranetimplemented by applying the Internet technologies such as WWW (WorldWide Web) to the in-house LAN (Local Area Network). Further, use of abroadband communication network based on FTTH (Fiber To The Home) in thefuture is proposed in which the main line system and the subscribersystem are all constituted by fiber optics.

Meanwhile, for an information providing system available on theInternet, WWW developed by CERN (European Center for Nuclear Research)in Switzerland is known. This technology allows a user to browseinformation including text, image and voice for example in the hypertext form. Based on HTTP (Hyper Text Transfer Protocol), the informationstored in a WWW server terminal is sent asynchronously to terminals suchas personal computers.

The WWW server is constituted by server software called an HTTP demonand an HTML file in which hyper text information is stored. The hypertext information is described in a description language called HTML(Hyper Text Makeup Language). In the description of a hyper text byHTML, a logical structure of a document is expressed in a formatspecification called a tag enclosed by “<” and “>”, Description oflinking to other information is made based in link information called ananchor. A method in which a location at which required information isstored by the anchor is URL (Uniform Resource Locator).

A protocol for transferring a file described in HTML on the TCP/IPnetwork is HTTP. This protocol has a capability of transferring arequest for information from a client to the WWW server and therequested hyper text information stored in the HTML file to the client.

Used by many as an environment for using WWW is client software such asNetscape Navigator (trademark) called a WWW browser.

It should be noted that demon denotes a program for executing controland processing in the background when performing a job in the UNIXenvironment.

Recently, a language for describing three-dimension al graphics data,called VRML (Virtual Reality Modeling Language) and a VRML viewer fordrawing a virtual reality space described in this VRML on a personalcomputer or a workstation have been developed. VRML allows to extendWWW, set hyper text links to objects drawn by three-dimensionalgraphics, and follow these links to sequentially access WWW serverterminals. The specifications of VRML version 1.0 were made public inMay 26, 1995. Then, in Nov. 9, 1995, a revised version in which errorsand ambiguous expressions are corrected was made public. Thespecifications are available from URL=http://www.vrml.org/Specifications/VRML1.0/.

Storing three-dimensional information described in the above-mentionedVRML in a WWW server terminal allows the construction of a virtual spaceexpressed in three-dimensional graphics on the Internet. Further, use ofthe VRML viewer by using personal computers and the like interconnectedby the Internet can implement the display of a virtual space based onthree-dimensional graphics and the walk-through capability.

In what follows, examples in which the Internet is used for a networkwill be described. It will be apparent to those skilled in the art thatFTTH may be used instead of the Internet to implement the virtual space.

It should be noted that Cyberspace is a coinage by William Gibson, a USscience fiction writer, and was used in his “Neuromancer” (1984) thatmade him famous. Strictly speaking, however, the word Cyberspace firstappeared in his “Burning Chrome” (1982). In these novels, there arescenes in which the hero attaches a special electrode on his forehead toconnect himself to a computer to directly reflect on his brain a virtualthree-dimensional space obtained by visually reconfiguring data on acomputer network spanning all over the world. This virtualthree-dimensional space was called Cyberspace. Recently, the term hascome to be used as denoting a system in which a virtualthree-dimensional space is used by a plurality of users via a network.

Now, referring to FIG. 1, there is shown an example of a constitution ofa cyberspace (a three-dimensional virtual reality space provided via anetwork) system according to the present invention. As shown, in thispreferred embodiment, host computers (or simply hosts) A through C, aplurality (three in this case) of client terminals 13-1 through 13-3,and any number (one in this case) of service provider terminal 14 areinterconnected via a world-wide network 15 (a global communicationnetwork sometimes referred to as an information transmission mediumherein) like the Internet 15 by way of example.

The host A constitutes a system of so-called WWW (World Wide Web) forexample. Namely, the host A has information (or a file) to be describedlater. And, each piece of information (or each file) is related with aURL (Uniform Resource Locator) for uniformly specify that information.Specifying a URL allows access to the information corresponding to it.

To be more specific, the host A stores three-dimensional image data forproviding three-dimensional virtual reality spaces (hereinafterappropriately referred to simply as virtual reality spaces) such asvirtual streets in Tokyo, New York, and other locations for example. Itshould be noted that these three-dimensional image data do not change intheir basic state; that is, these data include static data consisting ofonly basic objects such as a building and a road to be shared by aplurality of users. If the basic state changes, it only reflects anautonomous change in the state of a merry-go-round or a neon. The staticdata are considered to be data that are not subject to update. The hostA has an information server terminal 10 (a basic server terminal). Theinformation server terminal 10 is adapted, when it receives a URL viathe network 15, to provide the information corresponding to the receivedURL, namely a corresponding virtual reality space (in this case, a spaceconsisting of only basic objects).

It should be noted that, in FIG. 1, there is only one host, namely thehost A, which has an information server terminal for providing thevirtual reality space (consisting of only basic objects) of a specificarea. It is apparent that such a host may be installed in plural.

The host B has a shared server terminal 11. The shared server terminal11 controls update objects that constitute a virtual reality space whenput in it. The update objects are avatars for example representing usersof the client terminals. Thus, the shared server terminal 11 allows aplurality of users to share the same virtual reality space. It should benoted, however, that the host B controls only the update objects locatedin a virtual reality space for only a specific area (for example, Tokyo)of the virtual reality spaces controlled by the host A. That is, thehost B is dedicated to the virtual reality space of a specific area.Also, it should be noted that the network 15 is connected with, inaddition to the host B, a host, not shown, having a shared serverterminal for controlling update objects located in virtual realityspaces of other areas such as New York and London, stored in the host A.

The host C, like the host A, constitutes a WWW system for example andstores data including IP (Internet Protocol) addresses for addressinghosts (shared server terminals) that control update objects like thehost B. Therefore, the shared server terminal addresses stored in thehost C are uniformly related with URLs as with the case of the host A asmentioned above. In addition, the host C has a mapping server terminal12 (a control server terminal). Receiving a URL via the network 15, themapping server terminal 12 provides the IP address of the shared serverterminal corresponding to the received URL via the network 15. It shouldbe noted that FIG. 1 shows only one host, namely the host C, which hasthe mapping server terminal 12 for providing shared server terminaladdresses. It will be apparent that the host C can be installed inplural.

The client terminal 13 (13-1, 13-2 or 13-3) receives a virtual realityspace from the information server terminal 10 via the network 15 toshare the received virtual reality space with other client terminals(including the service provider terminal 14), under the control of theshared server terminal 11. Further, the client terminal 13 is alsoadapted to receive specific services (information) using the virtualreality space from the service provider terminal 14.

The service provider terminal 14, like the client terminal 13, receivesa virtual reality space to share the same with the client terminal 13(if there is another service provider terminal, it also shares thisspace). Therefore, as far as the capability of this portion isconcerned, the service provider terminal 14 is the same as the clientterminal 13.

Further, the service provider terminal 14 is adapted to provide specificservices to the client terminal 13. It should be noted that FIG. 1 showsonly one service provider terminal 14. It will be apparent that theservice provider terminal may be installed in plural.

The following briefly describes a WWW system constituted by the host Aand the host C. Referring to FIG. 2, WWW is one of the systems forproviding information from hosts X, Y, and Z to unspecified users(client terminals) via the network 15 (the Internet in the case of WWW).The information that can be provided in this system include not onlytexts but also graphics, images (including still images and movingpictures), voices, three-dimensional images, and hyper texts whichcombines all these information.

In WWW, a URL, or a form for uniformly represent these pieces ofinformation is determined. Specifying a specific URL, each user canobtain the information corresponding to the specified URL. As shown inFIG. 3, each. URL is composed of a protocol type for representing aservice type (http in the preferred embodiment of FIG. 3, which isequivalent to a command for retrieving a file corresponding to a filename to be described later and send the retrieved file), a host nameindicating a destination of the URL (in the embodiment of FIG. 3,www.csl.sony. co.jp), and a file name of data to be sent (in theembodiment of FIG. 3, index.html) for example.

Each user operates the client terminal to enter a URL for desiredinformation. When the URL is entered, the client terminal references ahost name, for example, contained in the URL. A link with a host (in theembodiment of FIG. 2, the host X for example connected to the Internet)addressed by the host name is established. Then, at the client terminal,the URL is sent to the linked host, namely the host X, via the Internet,requesting the host X for sending the information specified in the URL.In the host X, an HTTP demon (httpd) is operating on the informationserver terminal (the WWW server terminal). Receiving the URL, theinformation server terminal sends back the information specified in theURL to the client terminal via the Internet.

The client terminal receives the information from the information serverterminal to display the received information on its monitor as required.Thus, the user can get the desired information.

Therefore, only storing in the host such data for describing elements(objects) for constituting a virtual reality space as shapes of basicobjects (for example, a rectangular prism and a cone) and locations andattributes (color and texture for example) of these basic objects allowsto provide the virtual reality space (consisting of only basic objectsin this case) to unspecified users. Namely, as long as the Internet isused for the network 15 and WWW is used, virtual reality spaces can beprovided to unspecified users world-wide with ease and at a low costbecause the Internet itself already spans almost all over the world andthe description of the elements constituting each virtual reality spaceto be stored in hosts does not require to make changes to informationservers (WWW server terminals) constituting WWW. It should be noted thatthe service for providing the description of the elements constituting avirtual reality space is upward compatible with existing servicesprovided by WWW.

Storing in a specific host (a mapping server terminal) the IP addressesof other hosts as information also allows to provide the host IPaddresses to unspecified users world-wide with ease.

It should be noted that it is difficult for a plurality of users toshare the same virtual reality space if only the description (the dataof three-dimensional image for providing the virtual reality space of aspecific area) of elements constituting the virtual reality space isstored in a host constituting WWW. Namely, in WWW, the informationcorresponding to a URL is only provided to a user and therefore nocontrol for information transfer is performed. Hence, it is difficult totransfer between users the above-mentioned change information of updateobjects by using WWW without changing its design. Therefore, in thecyberspace system of FIG. 1, the host B having the shared serverterminal 11 and the host C having the mapping server 12 are installed toallow a plurality of users to share the same virtual reality space,details of which will be described later.

Next, FIG. 4 shows an example of the constitution of the informationserver terminal 10 that operates on the host A of FIG. 1. As shown inFIG. 4, the information server terminal 10 has a CPU 81 which performs avariety of processing operations according to a program stored in a ROM82. In the information server 10, the above-mentioned HTTP demon isoperating in the background. A RAM 83 stores data and program necessaryfor the CPU 81 to perform the variety of processing operations. Acommunication device 84 is adapted to transfer specific data with thenetwork 15. A storage device 85 composed of a hard disc, an opticaldisc, and magneto-optical disc stores the data of the three-dimensionalimages for providing a virtual reality space of a specific area such asTokyo or New York for example along with URLs as mentioned above.

FIG. 5 shows an example of the constitution of the shared serverterminal 11 operating on the host B of FIG. 1. As shown, the sharedserver terminal has a CPU 21 which executes a variety of processingoperations according to a program stored in a ROM 22. A RAM 23appropriately stores data and a program necessary for the CPU 21 toexecute the variety of processing operations. A communication device 24transfers specific data with the network 15.

A display device 25 has a CRT (Cathode Ray Tube) or an LCD (LiquidCrystal Display) for example and is connected to interface 28 to monitorimages of the virtual reality space (composed of not only basic objectsbut also update objects) of an area controlled by the shared serverterminal 11. The interface 28 is also connected with a microphone 26 anda loudspeaker 27 to supply a specific voice signal to the clientterminal 13 and the service provider terminal 14 and monitor a voicesignal coming from these terminals.

The shared server terminal 11 has an input device 29 on which a varietyof input operations are performed via the interface 28. This inputdevice has at least a keyboard 29 a and a mouse 29 b.

A storage device 30 composed of a hard disc, an optical disc, and amagneto-optical disc stores data of the virtual reality space of an areacontrolled by the shared server terminal 11. It should be noted that thedata of the virtual reality space are the same as those stored in thestorage device 85 of the information server terminal 10 (of FIG. 4).When these data are displayed on the display device 25, the virtualreality space of the area controlled by the shared server terminal 11 isdisplayed.

FIG. 6 shows an example of the constitution of the mapping serverterminal 12 operating on the host C of FIG. 1. Components CPU 91 throughcommunication device 94 are generally the same in constitution as thoseof FIG. 4, so that the description of the components of FIG. 6 isomitted in general. A storage device 95 stores addresses, along withURLs, for identifying shared server terminals that control updateobjects (in the embodiment of FIG. 1, only the shared server terminal 11is shown; actually, other shared server terminals, not shown, areconnected to the network 15).

FIG. 7 shows an example of the constitution of the client terminal 13(actually, client terminals 13-1 through 13-3). The client terminal 13has a CPU 41 which executes a variety of processing operations accordingto a program stored in a ROM 42. A RAM 43 appropriately stores data anda program necessary for the CPU 41 to executes the variety of processingoperations. A communication device 44 transfers data via the network 15.

A display device 45 has a CRT or an LCD to display three-dimensionalimages created by computer graphics or taken by an ordinary videocamera. A microphone 46 is used to output a voice signal to the sharedserver terminal 11. A loudspeaker 47 outputs the voice signal comingfrom the shared server terminal 11. An input device 49 is operated toperform a variety of input operations.

A keyboard 49 a of the input device 49 is operated when entering text(including an URL) composed of specific characters and symbols. A mouse49 b is operated when entering specific positional information. Aviewpoint input device 49 c and a movement input device 49 d areoperated when changing the state of the avatar as an update object ofthe client terminal 13. That is, the viewpoint input device 49 c is usedto enter the viewpoint of the avatar of the client terminal 13, therebymoving the viewpoint of the avatar vertically, horizontally or in thedepth direction. The movement input device is used to move the avatar inthe forward and backward direction or the right and left direction at aspecific velocity. It is apparent that the operations done through theviewpoint and movement input devices may also be done through theabove-mentioned keyboard 49 a and the mouse 49 b.

A storage device 50 composed of a hard disc, an optical disc, andmagneto-optical disc stores avatars (update objects) representing users.Further, the storage device 50 stores a URL (hereinafter appropriatelyreferred to as an address acquisition URL) for acquiring an IP addressof a shared server terminal for managing update objects to be located inthe virtual reality space of each area stored in the information serverterminal 10 (if there is an information server terminal other than theinformation server terminal 10, that information server terminal isincluded). The address acquisition URL is stored as associated with aURL (hereinafter appropriately referred to as a virtual reality spaceURL) corresponding to the data of the virtual reality space of thatarea. This setup allows to obtain the address acquisition URL foracquiring the IP address of the shared server terminal for controllingthe virtual reality space of that area when the virtual reality spaceURL for the data of the virtual reality space for that area has beenentered.

Interface 48 constitutes the data interface with a display device 45, amicrophone 46, a loudspeaker 47, an input device 49, and the storagedevice 50.

FIG. 8 shows an example of the constitution of the service providerterminal 14 of FIG. 1. The components including a CPU 51 through astorage device 60 are generally the same as the components including theCPU 41 through the storage device 50 and therefore the description ofthe CPU 51 through the storage device 60 is omitted.

FIG. 9 shows schematically a virtual reality space that is provided bythe information server terminal 10 of FIG. 1 and can be shared by aplurality of users under the control of the shared server terminal 11.As shown in FIG. 9, this virtual reality space constitutes a town, inwhich avatar C (avatar of the client terminal 13-1 for example) andavatar D (avatar of the client terminal 13-2 for example) can movearound.

Avatar C sees an image as shown in FIG. 10 for example from the positionand viewpoint in the virtual reality space. Namely, data associated withthe basic objects constituting the virtual reality space are provided tothe client terminal 13-1 from the information server terminal 10 to bestored in a RAM 43 (or a storage device 50). Then, from the RAM 43 (orthe storage device 50), data are read out of a virtual reality spacethat can be seen when the same is seen from specific viewpoint andposition and the read data are supplied to the display device 45. Then,when the viewpoint and position of avatar C are changed by operating aviewpoint input device 49 c and a movement input device 49 d, datacorresponding the change are read from the RAM 43 (or the storage device50) to be supplied to the display device 45, thereby changing thevirtual reality space (the three-dimensional image) being displayed onthe display device 45.

Further, data associated with another user's avatar (an update object)(avatar D of FIG. 10) that can be seen when the virtual reality space isseen from the current viewpoint and position are supplied to the clientterminal 13-1 from the shared server terminal 11. Based on the supplieddata, the display on the display device 45 is changed. Namely, in thestate of FIG. 9, since avatar C is looking in the direction of avatar D,avatar D is displayed in the image (the virtual reality space) displayedon the display device 45 of the client terminal 13-1 as shown in FIG.10.

Likewise, an image as shown in FIG. 11 is displayed on the displaydevice 45 of the client terminal 13-2 to which avatar D corresponds.This displayed image is also changed by moving the viewpoint andposition of avatar D. It should be noted that, in FIG. 9, avatar D islooking in the direction of avatar C, so that avatar C is displayed inthe image (the virtual reality space) on the display device 45 of theclient terminal 13-2 as shown in FIG. 11.

The service provider terminal 14 controls a part of the sharable virtualreality space provided by the information server terminal 10 and theshared server terminal 11. In other words, the service providerpurchases a part of the virtual reality space from administrators(information providers who provide information of the virtual realityspace) of the information server terminal 10 and the shared terminal 11.This purchase is performed in the real space. Namely, upon request by aspecific service provider for the purchase of the virtual reality space,the administrators of the information server terminal 10 and the sharedserver terminal 11 allocate a part of the requested virtual realityspace to that specific service provider.

For example, assume that the owner (service provider) of the serviceprovider terminal 14 lease a room in a specific building in the virtualreality space and use the room as a shop for electric appliances. Theservice provider provides information about commodities, for exampletelevisions, to be sold in the shop. Based on the information, theserver terminal administrator creates three-dimensional images of thetelevisions by computer graphics and place the created images atspecific positions in the shop. Thus, the images to be placed in thevirtual reality space have been completed.

Similar operations are performed by other service providers to form thevirtual reality space as a big town for example.

FIG. 12 is a top view of a virtual reality space (a room in a buildingin this example) to be occupied by the service provider owning theservice provider terminal 14. In this embodiment, one room of thebuilding is allocated to this service provider in which two televisions72 and 73 are arranged with a service counter 71 placed at a positionshown. The service provider of the service provider terminal 14 placeshis own avatar F behind the service counter 71. It will be apparent thatthe service provider can move avatar F to any desired position byoperating a movement input device 59 d of the service provider terminal14.

Now, assume that avatar C of the client terminal 13-1 has come in thiselectric appliances shop as shown in FIG. 12. At this moment, an imageas shown in FIG. 13 for example is displayed on the display device 45 ofthe client terminal 13-1, in correspondence to the position andviewpoint of avatar C. If avatar F is located behind the service counter71, an image as shown in FIG. 14 is displayed on a display device 55 ofthe service provider terminal 14. As shown in FIGS. 13 and 14, the imageviewed from avatar C shows avatar F, while the image viewed from avatarF shows avatar C.

As shown in FIG. 13, the image viewed from avatar C shows a cursor 74 tobe used when a specific image is specified from the client terminal13-1. Likewise, as shown in FIG. 14, a cursor 75 is shown for theservice provider terminal 14 to specify a specific image.

Moving avatar C around the television 72 or 73 by operating the movementinput device 49 d of the client terminal 13-1 displays on the displaydevice 45 the image corresponding to avatar C's moved position andviewpoint. This allows the user to take a close look at the televisionsas if they were exhibited in a shop of the real world.

Also, when the user moves the cursor 74 by operating a mouse 49 b andthen click on avatar F, a conversation request signal is transmitted tothe service provider terminal 14 corresponding to avatar F. Receivingthe conversation request signal, the service provider terminal 14 canoutput, via a microphone 56, a voice signal to a loudspeaker 47 of theclient terminal 13-1 corresponding to avatar C. Likewise, entering aspecific voice signal from a microphone 46 of the client terminal 13-1can transmit user's voice signal to a speaker 57 of the service providerterminal 14. Thus, the user and service provider can make conversationin a usual manner.

It is apparent that the conversation can be requested from avatar F (theservice provider terminal 14) to avatar C (the client terminal 13-1).

When the cursor 74 is moved on the client terminal 13-1 and the image ofthe television 72 for example is clicked, the information (the providedinformation) describing the television 72 is provided in more detail.This can be implemented by linking the data of the virtual reality spaceprovided by the information server terminal 10 with the descriptioninformation about the television. It is apparent that the image fordisplaying the description information may be either three-dimensionalor two-dimensional.

The specification of desired images can be performed also from theservice provider terminal 14. This capability allows the serviceprovider to offer the description information to the user in a moreactive manner.

If the service provider specifies avatar C with the cursor 75 byoperating the mouse 59 b, the image corresponding to the position andviewpoint of avatar C, namely, the same image as displayed on thedisplay device 45 of the client terminal 13-1 can be displayed on thedisplay device 55 of the service provider terminal 14. This allows theservice provider to know where the user (namely avatar C) is looking atand therefore promptly offer information needed by the user.

The user gets explanations about the products, or gets the providedinformation or description information. If the user wants to buy thetelevision 72 for example, he can buy the same actually. In this case,the user requests the service provider terminal 14 for the purchase viaavatar F. At the same time, the user transmits his credit card numberfor example to the service provider terminal 14 (avatar F) via avatar C.Then, the user asks the service provider terminal for drawing an amountequivalent to the price of the television purchased. The serviceprovider of the service provider terminal 14 performs processing for thedrawing based on the credit card number and make preparations for thedelivery of the purchased product.

The images provided in the above-mentioned virtual reality space arebasically precision images created by computer graphics. Therefore,looking at these images from every angle allows the user to makeobservation of products almost equivalent to the observation in the realworld, thereby providing surer confirmation of products.

Thus, the virtual reality space contains a lot of shops, movie housesand theaters for example. Because products can be actually purchased inthe shops, spaces installed at favorable locations create actualeconomic values. Therefore, such favorable spaces themselves can beactually (namely, in the real world) purchased or leased. This providescomplete distinction from the so-called television shopping systemordinarily practiced.

The following describes the operations of the client terminal 13 (or theservice provider terminal 14), the information server terminal 10, themapping server terminal 12, and the shared server terminal 11 withreference to the flowcharts of FIGS. 15 through 18.

Now, referring to FIG. 15, there is shown an example of processing bythe client terminal 13 (or the service provider terminal 14). In stepS1, the CPU 41 checks whether a virtual reality space URL has beenentered or not. If no virtual reality space URL has been found, theprocessing remains in step S1. If a virtual reality space URL has beenfound in step S1, namely, if a virtual reality space URL correspondingto a desired virtual reality space entered by the user by operating thekeyboard 49 a has been received by the CPU 41 via interface 48, theprocess goes to step S2. In step S2, a WWW system is constituted asdescribed with reference to FIG. 2 and the virtual reality space URL istransmitted from the communication device 44 via the network 15 to theinformation server terminal of a specific host (in this case, theinformation server terminal 10 of the host A for example) that has theinformation server terminal, thereby establishing a link.

Further, in step S2, an address acquisition URL related to the virtualreality space URL is read from the storage device 50 to be transmittedfrom the communication device 44 via the network 15 to the mappingserver terminal of a specific host (in this case, mapping serverterminal 12 of the host C for example) that constitutes the WWW system,thereby establishing a link.

Then, the process goes to step S3. In step S3, data (three-dimensionalimage data) of the virtual reality space or the IP address of the sharedserver terminal 12 corresponding to the virtual reality space URLreceived in step S2 or the address acquisition URL is received by thecommunication device 44.

Namely, in step S2, the virtual reality space URL is transmitted to theinformation server terminal 10. When this virtual reality space URL isreceived by the information server terminal 10, the data of thecorresponding virtual reality space are transmitted to the clientterminal 13 via the network 15 in step S22 of FIG. 16 to be described.Thus, in step S3, the data of the virtual reality space transmitted fromthe information server terminal 10 are received. It should be noted thatthe received virtual reality space data are transferred to the RAM 43 tobe stored there (or first stored in the storage device 50 to betransferred to the RAM 43).

Also, in step S2, the address acquisition URL is transmitted to themapping server terminal 12. When the address acquisition URL is receivedby the mapping server terminal 12, the IP address of the shared serverterminal corresponding to the URL is transmitted to the client terminal13 via the network 15 in step S32 of FIG. 17 to be described. Thus, instep S3, the IP address of the shared server terminal 12 transmittedfrom the mapping server 12 is received.

As described above, the address acquisition URL related to the enteredvirtual reality space URL corresponds to the IP address of the sharedserver terminal that controls the update object placed in the virtualreality space corresponding to that virtual reality space URL.Therefore, for example, if the entered virtual reality space URLcorresponds to a virtual reality space of Tokyo and the shared serverterminal 11 owned by the host B controls the update objects placed inthe Tokyo virtual reality space, the IP address of the shared serverterminal 11 is received in step S3. Consequently, the user canautomatically get the location (the IP address) of the shared serverterminal that controls the virtual reality space of a desired area evenif the user does not know which shared server terminal controls theupdate objects in a virtual reality space in which area.

It should be noted that, in steps S2 and S3, the processing oftransmitting the virtual reality space URL and the address acquisitionURL and receiving the virtual reality space data and the IP address isactually performed by transmitting the virtual reality space URL,receiving the data of the corresponding virtual reality space,transmitting the address acquisition URL, and then receiving thecorresponding IP address in this order by way of example.

When the virtual reality space data and the shared server terminal IPaddress are received in step S3, the process goes to step S4. In stepS4, a connection request is transmitted from the communication device 44via the network 15 to the shared server terminal (in this case, theshared server terminal 11 for example) corresponding to the IP address(the shared server terminal IP address) received in step S3. Thisestablishes a link between the client terminal 13 and the shared serverterminal 11. Further, in step S4, after the establishment of the link,the avatar (namely, the update object) representing oneself stored inthe storage device 50 is transmitted from the communication device 44 tothe shared server terminal 11.

When the shared server terminal 11 receives the user's avatar, the sameis then transmitted to the client terminals of other users existing inthe same virtual reality space (in this case, that of Tokyo as mentionedabove). Then, on the client terminals of other users, the transmittedavatar is placed in the virtual reality space, thus implementing thesharing of the same virtual reality space among a plurality of users.

It should be noted that, rather than providing the user's avatar fromthe client terminal 11 to the shared server terminal 11, a predeterminedavatar may also be allocated from the shared server terminal 11 to eachuser who accessed the same. Also, in the client terminal 13, the avatarof the user himself who uses this terminal can be placed and displayedin the virtual reality space as shown in FIGS. 36 and 37; in the realworld, however, the user cannot see himself, so that it is desirable forthe user's avatar not be displayed on that user's client terminal inorder to make the virtual reality space as real as possible.

When the processing of step S4 has been completed, the process goes tostep S5. In step S5, the data of the virtual reality space that can beseen when the same is seen from specific viewpoint and position are readfrom the RAM 43 by the CPU 41 to be supplied to the display device 45.Thus, the specific virtual reality space is shown on the display device45.

Then, in step S6, the communication device 44 determines whether updateinformation of another user's avatar has been sent from the sharedserver terminal 11.

As described above, the user can update the position or viewpoint of hisown avatar by operating the viewpoint input device 49 c or the movementinput device 49 d. If the update of the position or viewpoint of theavatar is instructed by using this capability, the CPU 41 receives theinstruction via the interface 48. According to the instruction, the CPU41 performs processing for outputting positional data or viewpoint datacorresponding to the updated position or viewpoint as update informationto the shared server terminal 11. In other words, the CPU 41 controlsthe communication device 44 to transmit the update information to theshared server terminal 11.

Receiving the update information from the client terminal, the sharedserver terminal 11 outputs the update information to other clientterminals in step S44 of FIG. 18 to be described. It should be noted theshared server terminal 11 is adapted to transmit the avatar receivedfrom the client terminal that requested for access to client terminalsof other users, this avatar being transmitted also as updateinformation.

When the update information has come as mentioned above, it isdetermined in step S6 that update information of the avatar of anotheruser has come from the shared server terminal 11. In this case, thisupdate information is received by the communication device 44 to beoutputted to the CPU 41. The CPU 41 updates the display on the displaydevice 45 according to the update information in step S7. That is, ifthe CPU 41 receives the positional data or viewpoint data from anotherclient terminal as update information, the CPU 41 moves or changes (forexample, the orientation of the avatar) the avatar of that useraccording to the received positional data or viewpoint data. Inaddition, if the CPU 41 receives the avatar from another clientterminal, the CPU 41 places the received avatar in the currentlydisplayed virtual reality space at a specific position. It should benoted that, when the shared server terminal 11 transmits an avatar asupdate information, the shared server terminal also transmits thepositional data and viewpoint data of the avatar along with the updateinformation. The avatar is displayed on the display device 45 accordingto these positional data and viewpoint data.

When the above-mentioned processing has come to an end, the process goesto step S8.

Meanwhile, if, in step S6, no update information of the avatar ofanother user has come from the shared server terminal 11, the processgoes to step S8, skipping step S7. In step S8, the CPU 41 determineswhether the position or viewpoint of the avatar of the user of theclient terminal 13 has been updated or not by operating the viewpointinput device 49 c or the movement input device 49 d.

In step S8, if the CPU 41 determines that the avatar position orviewpoint has been updated, namely, if the viewpoint input device 49 cor the movement input device 49 d has been operated by the user, theprocess goes to step S9. In step S9, the CPU 41 reads data of thevirtual reality space corresponding to the position and viewpoint of theavatar of the user based on the entered positional data and viewpointdata, makes calculations for correction as required, and generates theimage data corresponding to the correct position and viewpoint. Then,the CPU 41 outputs the generated image data to the display device 45.Thus, the image (virtual reality space) corresponding to the viewpointand position entered from the viewpoint input device 49 c and themovement input device 49 d is displayed on the display device 45.

Further, in step S10, the CPU 41 controls the communication device 44 totransmit the viewpoint data or the positional data entered from theviewpoint input device 49 c or the movement input device 49 d to theshared server terminal 11, upon which process goes to step S11.

Here, as described above, the update information coming from the clientterminal 13 is received by the shared server terminal 11 to be outputtedto other client terminals. Thus, the avatar of the user of the clientterminal 13 is displayed on the other client terminals.

On the other hand, in step S8, if CPU 41 determines that the avatar'sposition or viewpoint has not been updated, the process goes to step s11by skipping steps S9 and S10. In step S11, the CPU 41 determines whetherthe end of the update data input operation has been instructed byoperating a predetermined key on the keyboard; if the end has not beeninstructed, the process goes back to step S6 to repeat the processing.

Referring to the flowchart of FIG. 16, there is shown an example of theprocessing by the information server terminal 10. First, thecommunication device 84 determines in step S21, whether a virtualreality space URL has come from the client terminal 13 via the network15. If, in step S21, the communication device 84 determines that novirtual reality space URL has come, the process goes back to step S21.If the virtual reality space URL has come, the same is received by thecommunication device 84, upon which the process goes to step S22. Instep S22, the data of the virtual reality space related to the virtualreality space URL received by the communication device 84 are read bythe CPU 81 to be transmitted via the network 15 to the client terminal13 that transmitted the virtual reality space URL. Then, the processgoes back to step S21 to repeat the above-mentioned processing.

FIG. 17 shows an example of the processing by the mapping serverterminal 12. In the mapping server terminal 12, the communication device94 determines in step S 31, whether an address acquisition URL has comefrom the client terminal 13 via the network 15. If no addressacquisition URL has come, the process goes back to step S31. If theaddress acquisition URL has come, the same is received by thecommunication device 94, upon which the process goes to step 32. In stepS32, the IP address (the IP address of the shared server terminal)related to the address acquisition URL received by the communicationdevice 94 is read from the storage device 95 by the CPU 91 to betransmitted via the network 15 to the client terminal 13 thattransmitted the address acquisition URL. Then, the process goes back tostep S31 to repeat the above-mentioned processing.

FIG. 18 shows an example of the processing by the shared server terminal11. In the shared server terminal 11, the communication device 24determines, in step S41, whether a connection request has come from theclient terminal 13 via the network 15. If no connection request hascome, the process goes to step S43 by skipping step S42. If theconnection request has come, that is, if the client terminal 13 has theconnection request to the shared server terminal 11 in step S4 of FIG.15, the communication link with the client terminal 13 is established bythe communication device 24, upon which the process goes to step S42.

In step S42, a connection control table stored in the RAM 23 is updatedby the CPU 21. Namely, it is necessary for the shared server terminal 11to recognize the client terminal 13 with which the shared serverterminal 11 is linked, in order to transmit update information comingfrom the client terminal 13 to other client terminals. To do so, whenthe communication link with client terminals has been established, theshared server terminal 11 registers the information for identifying thelinked client terminals in the connection control table. That is, theconnection control table provides a list of the client terminalscurrently linked to the shared server terminal 11. The information foridentifying the client terminals include the source IP addresstransmitted from each client terminal as the header of TCP/IP packet anda nickname of the avatar set by the user of each client terminal.

Then, the process goes to step S43, in which the communication device 24determines whether the update information has come from the clientterminal 13. If, in step S43, no update information has been found, theprocess goes to step S45 by skipping step S44. If the update informationhas been found, namely, if the client terminal 13 has transmitted, instep S10 of FIG. 15, positional data and viewpoint data as the updateinformation to the shared server terminal 11 (or, in step S4 of FIG. 15,the client terminal 13 has transmitted the avatar as the updateinformation to the shared server terminal 11 after transmission of theconnection request), the update information is received by thecommunication device 24, upon which the process goes to step S44. Instep S44, the CPU 21 references the connection control table stored inthe RAM 23 to transmit the update information received by thecommunication device 24 to other client terminals than the clientterminal which transmitted that update information. At this moment, thesource IP address of each client terminal controlled by the connectioncontrol table is used.

It should be noted that the above-mentioned update information isreceived by the client terminal 13 in step S6 of FIG. 15 as describedabove.

Then, the process goes to step S45, in which the CPU 21 determineswhether the end of processing has been instructed by the client terminal13. If the end of processing has not been instructed, the process goesback to S41 by skipping step S46. If the end of processing has beeninstructed, the process goes to step S46. In step S46, the link with theclient terminal 13 from which the instruction has come is disconnectedby the communication device 24. Further, from the connection controltable, the information associated with the client terminal 13 is deletedby the CPU 21, upon which the process goes back to step S41.

Thus, the control of the update objects is performed by the sharedserver terminal 11 and the control (or provision) of the basic objectsis performed by the information server terminal 10 constituting the WWWof the Internet used world-wide, thereby easily providing virtualreality spaces that can be shared by unspecified users world-wide. Itshould be noted that the specifications of the existing WWW system neednot be modified to achieve the above-mentioned objective.

Provision of the virtual reality space data by use of the WWW systemneed not create any new web browser because the transfer of these datacan be made using related art web browsers such as the NetscapeNavigator (trademark) offered by Netscape Communications, Inc. forexample.

Moreover, because the IP address of the shared server terminal 11 isprovided by the mapping server terminal 12, the user can share a virtualreality space with other users without knowing the address of the sharedserver terminal.

In what follows, a procedure of communications between the clientterminal 13, the information server terminal 10, the shared serverterminal 11, and the mapping server terminal 12 will be described withreference to FIG. 19. When the user desires to get a virtual realityspace, the user enters the URL (the virtual reality space URL)corresponding to the virtual reality space of the desired area. Then,the entered URL is transmitted from the client terminal 13 to theinformation server terminal 10 (httpd). Receiving the URL from theclient terminal 13, the information server terminal 10 transmits thedata (three-dimensional scene data representing only basic objects) ofthe virtual reality space associated with the URL to the client terminal13. The client terminal 13 receives and display these data.

It should be noted that, at this stage of processing, no link isestablished between the client terminal 13 and the shared serverterminal 11, so that the client terminal 13 does not receive updateinformation; therefore, a virtual reality space composed of only basicobjects, namely a virtual reality space shown only a still street forexample, is shown (that is, no update objects such as avatars of otherusers are displayed).

Further, the address acquisition URL related to the virtual realityspace URL is transmitted from the client terminal 13 to the mappingserver terminal 12. The mapping server terminal 12 receives the addressacquisition URL to transmit the IP address (the IP address of a sharedserver terminal controlling update objects located in the virtualreality space of the area related to the virtual reality space URL, forexample, the shared server terminal 11) related to the received addressacquisition URL to the client terminal 13.

Here, it is possible that the IP address related to the addressacquisition URL transmitted by the client terminal 13 is not registeredin the mapping server terminal 12. Namely, a shared server terminal forcontrolling the update objects located in the virtual reality space ofthe area related to the virtual reality space URL may not be installedor operating for example. In such a case, the IP address of the sharedserver terminal cannot be obtained, so that a virtual reality spacecomposed of only basic objects, a virtual reality space showing only astill street for example, is displayed. Therefore, in this case, sharingof a virtual reality space with other users is not established. Such avirtual reality space can be provided only by storing the virtualreality space data (namely, basic objects) in an information serverterminal (a WWW server terminal) by the existing WWW system. Thisdenotes that the cyberspace system according to the present invention isupward compatible with the existing www system.

Receiving the IP address (the IP address of the shared server terminal11) from the mapping server terminal 12, the client terminal 13transmits a connection request to a shared server terminal correspondingto the IP address, namely the shared server terminal 11 in this case.Then, when a communication link is established between the clientterminal 13 and the shared server terminal 11, the client terminal 13transmits the avatar (the three-dimensional representation of the user)representing itself to the shared server terminal 11. Receiving theavatar from the client terminal 13, the shared server terminal 11transmits the received avatar to the other client terminals linked tothe shared server terminal 11. At the same time, the shared serverterminal 11 transmits the update objects (shapes of sharedthree-dimensional objects), the other users' avatars, located in thevirtual reality space of the area controlled by the shared serverterminal 11, to the client terminal 13.

In the other client terminals, the avatar of the user of the clientterminal 13 is placed in the virtual reality space to appear on themonitor screens of the other client terminals. In the client terminal13, the avatars of the other client terminals are placed in the virtualreality space to appear on its monitor screen. As a result, all theusers of the client terminals linked to the shared server terminal 11share the same virtual reality space.

Then, when the shared server terminal 11 receives the update informationfrom other client terminals, transmits the received update informationto the client terminal 13. Receiving the update information, the clientterminal 13 changes the display (for example, the position of the avatarof another user is changed). When the state of the avatar of the user ofthe client terminal 13 is changed by that user, the update informationreflecting that change is transmitted from the client terminal 13 to theshared server terminal 11. Receiving this update information, the sharedserver terminal 11 transmits the same to the client terminals other thanthe client terminal 13. Thus, on these other client terminals, the stateof the avatar of the user of the client terminal 13 is changedaccordingly (namely, the state of the avatar is changed as the same hasbeen changed by the user of the client terminal 13 on the same).

Subsequently, the processing in which the client terminal 13 transmitsthe update information about the avatar of its own and receives theupdate information from the shared server terminal 11 to change thedisplay based on the received update information continues until theconnection with the shared server terminal 11 is disconnected.

Thus, the sharing of the same virtual reality space is established bytransferring the update information via the shared server terminal 11among the users. Therefore, if the shared server terminal 11 and theclient terminal 13 are located remotely, there occurs a delay in thecommunication between these terminals, deteriorating the response in thecommunication. To be more specific, if the shared server terminal 11 islocated in US for example and users in Japan are accessing the same,update information of user A in Japan is transmitted to user B in Japanvia US, thereby taking time until a change made by user A is reflectedin user B.

To overcome such a problem, rather than installing only one sharedserver terminal in the world, a plurality of shared server terminals areinstalled all over the world. And the IP addresses of the plurality ofshared server terminals are registered in the mapping server terminal 12to make the same provide the IP address of the shared server terminal inthe geographical proximity to the client terminal 13.

To be more specific, as shown in FIG. 20, a shared server terminals W1and W2 for controlling the update objects placed in a virtual realityspace (a three-dimensional space) such as an amusement park areinstalled in Japan and US respectively by way of example. When the usersin Japan and US have received the data of the amusement park's virtualreality space, each user transmits an address acquisition URL related toa virtual reality space URL corresponding to the amusement park'svirtual reality space to the mapping server terminal 12 (the sameaddress acquisition URL is transmitted from all users). At this moment,the users in Japan transmit the IP address of the shared server terminalW1 installed in Japan to the mapping server terminal 12, while the usersin US transmit the IP address of the shared server terminal W2 installedin US to the mapping server terminal 12.

Here, the mapping server terminal 12 identifies the installationlocations of the client terminals that transmitted the addressacquisition URLs to the mapping server terminal in the followingprocedure.

In the communication in TCP/IP protocol, a source IP address and adestination IP address are described in the header of a TCP/IP packet.

Meanwhile, an IP address is made up of 32 bits and normally expressed ina decimal notation delimited by dot in units of eight bits. For example,an IP is expressed in 43.0.35.117. This IP address provides an addresswhich uniquely identifies a source or destination terminal connected tothe Internet. Because an IP address expressed in four octets (32 bits)is difficult to remember, a domain name is used. The domain name system(DNS) is provided to control the relationship between the domain namesassigned to the terminals all over the world and their IP addresses. TheDNS answers a domain name for a corresponding IP address and vice versa.The DNS functions based on the cooperation of the domain name serversinstalled all over the world. A domain name is expressed in “hanaya@ipd.sony.co.jp” for example, which denotes a user name, @, a host name, anorganization name, an organization attribute, and country name (in thecase of US, the country name is omitted) in this order. If the countryname of the first layer is “jp”, that terminal is located in Japan. Ifthere is no country name, that terminal is located in US.

Using a domain name server 130 as shown FIG. 23, the mapping serverterminal 12 identifies the installation location of the client terminalthat transmitted the address acquisition URL to the mapping serverterminal.

To be more specific, the mapping server terminal asks the domain nameserver 130 controlling the table listing the relationship between thesource IP addresses of the requesting client terminal and the domainnames assigned with the IP addresses for the corresponding domain name.Then, the mapping server terminal identifies the country in which aspecific client terminal is installed based on the first layer of thedomain name of the client terminal obtained from the domain name server130.

In this case, since the client terminal used by each user and its sharedserver terminal are located in geographical proximity to each other, theabove-mentioned problem of a delay, or the deterioration of responsetime is solved.

In this case, the virtual reality space provided to the users in Japanand US is the same amusement park's virtual reality space as mentionedabove. However, since the shared server terminals that control thesharing are located in both countries, the sharing by the users in Japanis made independently of the sharing by the users in US. Namely, thesame virtual reality space is shared among the users in Japan and sharedamong the users in US. Therefore, in this case, the same virtual realityspace is provided from the information server terminal 10, but separateshared spaces are constructed among the users in both countries, therebyenabling the users to make a chat in their respective languages.

However, it is possible for the users of both countries to share thesame virtual reality space by making connection between the sharedserver terminals W1 and W2 to transfer update information between them.

The deterioration of response also occurs when the excess number ofusers access the shared server terminal 11. This problem can be overcomeby installing a plurality of shared server terminals for controlling theupdate objects placed in the virtual reality space in the same area inunits of specific areas, for example, countries or prefectures andmaking the mapping server terminal 12 provide the addresses of thoseshared server terminals which are accessed less frequently.

To be more specific, a plurality of shared server terminals W3, W4, W5,and so on are installed and the mapping server terminal 12 is madeprovide the IP address of the specific shared server terminal W3 forexample for specific URLS. Further, in this case, communication isperformed between the mapping server terminal 12 and the shared serverterminal W3 for example to make the shared server terminal W3 transmitthe number of client terminals accessing the shared server terminal W3to the mapping server terminal 12. Then, when the number of clientterminals accessing the shared server terminal W3 has exceeded apredetermined level (100 terminals for example, which do not deterioratethe response of the shared server terminal W3) and if the mapping serverterminal 12 has received another URL, the mapping server terminal 12provides the IP address of another shared server terminal W4 for example(it is desired that the W4 be located in the proximity to the sharedserver terminal W3).

It should be noted that, in this case, the shared server terminal W4 maybe put in the active state in advance; however, it is also possible tostart the shared server W4 when the number of client terminals accessingthe shared server W3 has exceeded a predetermined value.

Then, communication is performed between the mapping server terminal 12and the shared server terminal W4. When the number of client terminalsaccessing the shared server terminal W4 has exceeded a predeterminedvalue, and the mapping server terminal 12 has received another URL, themapping server terminal 12 provides the IP address of the shared serverterminal W5 (however, if the number of client terminals accessing theshared server terminal W3 has dropped below the predetermined level, themapping server terminal 12 provides the IP address of the W3).

This setup protects each of the shared server terminals W3, W4, W5 andso on from application of excess load, thereby preventing thedeterioration of response.

It should be noted that the above-mentioned capability can beimplemented by controlling by the mapping server terminal 12 the IPaddresses of shared server terminals to be outputted for specific URLs,so that the client terminal 13 and the software operating on the sameneed not be modified.

The present embodiment has been described by taking the user's avatarfor example as the update object to be controlled by the shared serverterminal 11; it is also possible to make the shared server terminalcontrol any other update objects than avatars. It should be noted,however, that the client terminal 13 can also control update objects insome cases. For example, an update object such as a clock may becontrolled by the client terminal 13 based on the built-in clock of thesame, updating the clock.

Further, in the present embodiment, the hosts A through C, the clientterminals 13-1 through 13-3, and the service provider terminal 14 areinterconnected via the network 15, which is the Internet; however, interms of using the existing WWW system, the host A having theinformation server terminal 10 or the host C having the mapping serverterminal 12 may only be connected with the client terminal 13 via theInternet. Further, if the user recognizes the address of the sharedserver terminal 11 for example, the host A having the information serverterminal 10 and the client terminal 13 may only be interconnected viathe Internet.

In addition, in the present embodiment, the information server terminal10 and the mapping server terminal 12 operate on different hosts;however, if the WWW system is used, these server terminals may beinstalled on the same host. It should be noted that, if the WWW systemis not used, the information server terminal 10, the shared serverterminal 11, and the mapping server terminal 12 may all be installed onthe same host.

Still further, in the present embodiment, the data of the virtualreality spaces for each specific area are stored in the host A (namely,the information server terminal 10); however, these data may also behandled in units of a department store or an amusement park for example.

In the above-mentioned preferred embodiments of the invention, the basicobjects are supplied to each client terminal 13 via the network 15;however, it is also possible to store the basic objects in aninformation recording medium such as a CD-ROM and distribute the same toeach user in advance. In this case, each client terminal 13 isconstituted as shown in FIG. 21. To be more specific, in the embodimentof FIG. 21, a CD-ROM drive 100 is connected to the interface 48 to drivea CD-ROM 101 in which a virtual reality composed of basic objects isstored. The other part of the constitution is the same as that of FIG.7.

Thus, provision of the data of basic objects from the CD-ROM 101eliminates the time for transferring the data via the network 15,increasing processing speed.

Alternatively, the data of basic objects supplied from the informationserver terminal 10 may be stored in the storage device 50 only for thefirst time to be subsequently read for use.

Namely, the basic object data can be stored in the storage device 85 ofthe information server terminal 10 (for the cases 1 through 3), thestorage device 50 of the client terminal 13 (for the cases 4 through 6)or the CD-ROM 101 of the client terminal 13 (for the cases 7 through 9).

On the other hand, the update object data can be stored in the storagedevice 85 of the information server terminal 10 (for the case 1) or thestorage device 30 of the shared server terminal 11 (for the cases 2through 9). In the case in which the update object data are stored inthe shared server terminal 11, that shared server terminal may be theshared server terminal 11-1 in Japan (for the case 2, 5 or 8) or theshared server terminal 11-2 in US (for the case 3, 6 or 9) as shown inFIG. 23 for example. In this instance, the URL of the update object datais stored on the mapping server terminal 12.

If the update object data are stored on the information server terminal10, the URL of the update object data is the default URL controlled bythe information server terminal 10 (in the case of 1). Or if the sharedserver terminal 11 is specified by the user manually, the URL of updateobject data is the specified URL (in the case of 4 or 7).

Referring to FIG. 23, the data in each of the above-mentioned cases inFIG. 22 flows as follows. In the case 1, the basic object data are readfrom a VRML file (to be described later in detail) stored in an HDD(Hard Disk Drive), storage device of a WWW server terminal 121 operatingas the information server terminal 10 to be supplied to the clientterminal 13-1 for example via the Internet 15A operating as the network15. The storage device of the WWW server terminal 121 also stores updateobject data. To be more specific, when the basic object data are read inthe WWW server terminal 121, the URL of the corresponding update objectdata is stored as the default URL in the storage device of the WWWserver terminal 121 in advance. From this default URL, the update objectdata are read to be supplied to the client terminal 13-1.

In the case 2, the basic object data are supplied from the WWW serverterminal 121 to the client terminal 13-1 in Japan via the Internet 15A.On the other hand, the update object data are supplied from the sharedserver terminal 11-1 in Japan specified by the mapping server terminal12 to the client terminal 13-1 via the Internet 15A.

In the case 3, the basic object data are supplied from the WWW serverterminal 121 to the client terminal 13-2 in US via the Internet 15A. Theupdate object data are supplied from the shared server terminal 11-2 inUS specified by the mapping server terminal 12 via the Internet-15A.

In the case 4, the basic object data are stored in advance in thestorage device 50 of the client terminal 13-1 in Japan for example. Theupdate object data are supplied from the shared server terminal 11-2 inUS for example specified by the client terminal 13-1.

In the case 5, the basic object data are stored in advance in thestorage device 50 of the client terminal 13-1. The update object dataare supplied from the shared server terminal 11-1 in Japan specified bythe mapping server terminal 12 via the Internet 15A.

In the case 6, the basic object data are stored in advance in thestorage device 50 of the client terminal 13-2 in US. The update objectdata are supplied from the shared server terminal 11-2 in US specifiedby the mapping server terminal 12 to the client terminal 13-2 via theInternet 15A.

In the case 7, the basic object data stored in the CD-ROM 101 aresupplied to the client terminal 13-1 in Japan for example via the CD-ROMdrive 100. The update object data are supplied from the shared serverterminal (for example, the shared server terminal 11-1 or 11-2)specified by the client terminal 13-1.

In the case 8, the basic object data are supplied from the CD-ROM 101 tothe client terminal 13-1. The update object data are supplied from theshared server terminal 11-1 in Japan specified by the mapping serverterminal 12 in Japan.

In the case 9, the basic object data are supplied from the CD-ROM 101 tothe client terminal 13-2 in US. The update object data are supplied fromthe shared server terminal 11-2 in US specified by the mapping serverterminal 12 via the Internet 15A.

In what follows, the software for transferring the above-mentionedvirtual reality space data to display the same on the display device. Inthe WWW system, document data are transferred in a file described inHTML (Hyper Text Markup Language). Therefore, text data are registeredas an HTML file.

On the other hand, in the WWW system, three-dimensional graphics dataare transferred for use by describing the same in VRML (Virtual RealityModeling Language) or E-VRML (Enhanced Virtual Reality ModelingLanguage). Therefore, as shown in FIG. 24 for example, a WWW serverterminal 112 of remote host 111 constituting the above-mentionedinformation server terminal 10, the shared server terminal 11 or themapping server terminal 12 stores in its storage device both HTML andE-VRML files.

In an HTML file, linking between different files is performed by URL. Ina VRML or E-VRML file, such attributes as WWW Anchor and WWW Inline canbe specified for objects. WWW Anchor is an attribute for linking a hypertext to an object, a file of link destination being specified by URL.WWW Inline is an attribute for describing an external view of a buildingfor example in parts of external wall, roof, window, and door forexample. An URL can be related to each of the parts. Thus, also in VRMLor E-VRML files, link can be established with other files by means ofWWW Anchor or WWW Inline.

For application software (a WWW browser) for notifying a WWW serverterminal of a URL entered in a client terminal in the WWW system tointerpret and display an HTML file coming from the WWW server terminal,Netscape Navigator (register trade name) (hereafter referred to simplyas Netscape) of Netscape Communications, Inc. is known. For example, theclient terminal 13 also uses Netscape to user the capability fortransferring data with the WWW server terminal.

It should be noted, however, that this WWW browser can interpret an HTMLfile and display the same; but this WWW browser cannot interpret anddisplay a VRML or E-VRML file although it can receive these files.Therefore, a VRML browser is required which can interpret a VRML fileand an E-VRML file and draw and display them as a three-dimensionalspace.

Details of VRML are disclosed in the Japanese translation of “VRML:Browsing & Building Cyberspace,” Mark Pesce, 1995, New ReadersPublishing, ISBN 1-56205-498-8, the translation being entitled “Gettingto Know VRML: Building and Browsing Three-Dimensional Cyberspace,”translated by Kouichi Matsuda, Terunao Gamaike, Shouichi Takeuchi,Yasuaki Honda, Junichi Rekimoto, Masayuki Ishikawa, Takeshi Miyashitaand Kazuhiro Hara, published Mar. 25, 1996, Prenticehall Publishing,ISBN4-931356-37-0.

The applicant hereof developed Community Place (trademark) asapplication software that includes this VRML browser.

Community Place is composed of the following three software programs:

(1) Community Place Browser

This is a VRML browser which is based on VRML 1.0 and prefetches thecapabilities (motion and sound) of VRML 2.0 to support E-VRML thatprovides moving picture capability. In addition, this provides themulti-user capability which can be connected to Community Place Bureau.For the script language, TCL/TK is used.

(2) Community Place Conductor

This is a VRML authoring system which is based on E-VRML based on VRML1.0. This tool can not only simply construct a three-dimensional worldbut also give a behavior, a sound, and an image to the three-dimensionalworld with ease.

(3) Community Place Bureau

This is used for a server terminal system for enabling people to meeteach other in a virtual reality space constructed on a network,connected from the Community Place Browser.

In the client terminals 13-1 and 13-2 shown in FIG. 23, Community PlaceBureau Browser is installed in advance and executed. In the sharedserver terminals 11-1 and 11-2, Community Place Bureau is installed inadvance and executed. FIG. 25 shows an example in which Community PlaceBureau Browser is installed from the CD-ROM 101 and executed on theclient terminal 13-1 and, in order to implement the shared serverterminal capability and the client terminal capability on a singleterminal, Community Place Bureau and Community Place Bureau Browser areinstalled from the CD-ROM 101 in advance and executed.

As shown in FIG. 24, Community Place Bureau Browser transfers a varietyof data with Netscape as a WWW browser based on NCAPI (Netscape ClientApplication Programming Interface) (trademark).

Receiving an HTML file and a VRML file or E-VRML file from the WWWserver terminal 112 via the Internet, Netscape stores the received filesin the storage device 50. Netscape processes only the HTML file. TheVRML or E-VRML file is processed by Community Place Bureau Browser.

E-VRML is an enhancement of VRML 1.0 by providing behavior andmultimedia (sound and moving picture) and was proposed to the VRMLCommunity, September 1995, as the first achievement of the applicanthereof. Then, the basic model (event model) for describing motions asused in E-VRML was inherited to the Moving Worlds proposal, one the VRML2.0 proposals.

In what follows, Community Place Bureau Browser will be outlined. Afterinstalling this browser, selecting “Manual” from “Community PlaceFolder” of “Program” of the start menu of Windows 95 (trademark) (or inWindows NT (trademark), the Program Manager) displays the instructionmanual of the browser.

It should be noted that Community Place Browser, Community PlaceConductor, Community Place Bureau, and the files necessary for operatingthese software programs are recorded in a recording medium such as theCD-ROM 101 to be distributed as a sample operating environment of thebrowser:

The operating environment of the browser is as shown in FIG. 26. Theminimum operating environment must be at least satisfied. However,Netscape Navigator need not be used if the browser is used as astandalone VRML browser. In particular, on using in the multi-user, therecommended operating environment is desirable.

Installing the browser:

The browser can be usually installed in the same way as Netscape isinstalled. To be more specific, vscplb3a.exe placed in the \Sony(trademark) directory of the above-mentioned CD-ROM 101 is used asfollows for installation.

(1) Double-click vscplb3a.exe. The installation package is decompressedinto the directory indicated by “Unzip To Directory” column. Thedestination directory may be changed as required.

(2) Click “Unzip” button. And the installation package is decompressed.

(3) “12 files unzipped successfully” appears. Click “OK” button.

(4) When “Welcome” windows appeared, click “NEXT” button.

(5) Carefully read “Software License Agreement.” If agreed, press “Yes”button; if not, press “No” button.

(6) Check the directory of installation. Default is “Program FilesSony\Community Place.”

(7) If use of the above-mentioned directory is not wanted, press“Browse” button and select another directory. Then, press “Next” button.

(8) To read “readme” file here, click “Yes” button.

(9) When the installation has been completed, click “OK” button.

Starting the browser:

Before starting the browser, setting of Netscape Navigator must beperformed. If the browser is used standalone, this setting need not beperformed; just select “Community Place Folder . . . Community Place” of“Program” of the start menu and start. The following setting may beautomatically performed at installation.

(1) From “Options” menu of Netscape Navigator, execute “GeneralPreference” and open “Preference” window. From the upper tab, select“Helper Applications.”

(2) Check “File type” column for “x-world/x-vrml”. If it is found, go to(4) below.

(3) Click “Create New Type” button. Enter “x-world” in “Mime Type”column and “x-vrml” in “Mime SubType” column. Click “OK” button. Enter“wrl” in “Extensions”. column.

(4) Click “Launch the Application:” button. Enter the path name ofCommunity Place Browser in the text column below this button. Default is_“\ProgramFiles\Sony\Community Place\bin\vscp.exe”.

(5) Click “OK” button.

Thus, the setting of Netscape Navigator has been completed. Start thebrowser as follows:

(1) In “File.Open File” menu of Netscape, read “readme.htm” of thesample CD-ROM 101.

(2) Clicking the link to the sample world, and Community Place isautomatically started, loading the sample world from the CD-ROM 101.

Uninstalling the browser:

Execute “Uninstall” from “Community Place Folder” of “Program” of thestart menu (or in Windows NT, the Program Manager), the browser will beuninstalled automatically.

Operating the browser:

The browser may be operated intuitively with the mouse 49 b, thekeyboard 49 a, and the buttons on screen.

Moving around in the three-dimensional space:

In the three-dimensional space provided by VRML, such movements done inreal world as forward, backward, rotate right and rotate left forexample can be done. The browser implements such movements through thefollowing interface:

By keyboard:

Each of the arrow keys, not shown, on the keyboard 49 a generates thefollowing corresponding movement: → rotate right; ← rotate left; ↑ moveforward; and ↓ move backward.

By mouse:

Operate the mouse all with its left button.

(1) Keep the left button of the mouse 49 b pressed in the window ofCyberPassage and move the mouse to the right for rotate right; to theleft for rotate left; up for forward; and down for backward. Thevelocity of movement depends on the displacement of the mouse.

(2) With the Ctrl (Control) key, not shown, on the keyboard 49 a keptpressed, click an object on screen to get to the front of the clickedobject.

The following precautions are needed:

-   -   If a collision with an object occurs, a collision sound is        generated and the frame of screen blinks in red. If this        happens, any forward movement is blocked. Moving directions must        be changed.    -   If the user is lost or cannot see anything in the space, click        “Home” button on the right of screen, and the user can return to        the home position.

Jumping eye:

While navigating through a three-dimensional space, the user may be lostat occasions. If this happens, the user can jump up to have an overheadview around.

(1) Click “Jump” button on the right of screen, and the user enters thejumping eye mode and jump to a position from which the user look downthe world.

(2) Click “Jump” button again, and the user goes down to the originalposition.

(3) Alternatively, click any place in the world, and the user gets downto the clicked position.

Selecting an object:

When the mouse cursor is moved around on the screen, the shape of thecursor is transformed into a grabber (hand) on an object. In this state,click the left button of the mouse, and the action of the grabbed objectcan be called.

Loading a VRML file:

A VRML file can be loaded as follows:

-   -   In Netscape, click the link to the VRML file;    -   From “File . . . Open File” menu of Community Place Bureau,        select the file having extension “wrl” on disc.    -   In “File.Open URL” menu of Community Place Bureau, enter the        URL.    -   Click the object in the virtual space for which “URL” is        displayed on the mouse cursor.

Operating toolbar buttons:

Buttons in the toolbar shown in FIG. 30 for example may be used toexecute frequently used functions.

-   “Back” Go back to the world read last.-   “Forward” Go to the world after going back to the previous world.-   “Home” Move to the home position.-   “Undo” Return a moved object to the original position (to be    described later).-   “Bookmark” Attach a book to the current world or position.-   “Scouter” Enter in the scouter mode (to be described later).-   “Jump” Enter in the jump eye mode.

Scouter mode:

Each object placed in a virtual world may have a character string asinformation by using the E-VRML capability.

(1) Click “Scouter” button on the right of screen, and the user entersthe scouter mode.

(2) When the mouse cursor moves onto an object having an informationlabel, the information label is displayed.

(3) Click “Scouter” button again, and the user exits the scouter mode.

Moving an object around:

With “Alt” (Alternate) key, not shown, on the keyboard 49 a pressed,press the left button of the mouse 49 b on a desired object, and theuser can move that object to a desired position with the mouse. This islike moving a coffee cup for example on s desk with the hand in the realworld. In the virtual reality, however, objects that can be moved arethose having movable attributes. It should be noted that a moved objectmay be restored to the position before movement only once by using“Undo” button.

Connecting to a multi-user server terminal:

This browser provides a multi-user capability. The multi-user capabilityallows the sharing of a same VRML virtual space among a plurality ofusers. Currently, the applicant hereof is operating Community PlaceBureau in the Internet on an experimental basis. By loading a worldcalled chatroom the server terminal can be connected to share a sameVRML virtual space with other users, walking together, turning off aroom light, having a chat, and doing other activities.

This capability is started as follows:

(1) Make sure that the user's personal computer is linked to theInternet.

(2) Load the Chatroom of the sample world into CyberPassage Browser.This is done by loading “\Sony\readme.htm” from the sample CD-ROM 101clicking “Chat Room”.

(3) Appearance of “Connected to VS Server” in the message windowindicates successful connection.

Thus, the connection to the server has been completed. Interaction withother users is of the following two types:

Telling others of an action:

This is implemented by clicking any of “Hello”, “Smile”, “Wao!”,“Wooo!!”, “Umm . . . ”, “Sad”, “Bye” and so on in the “Action” window.The actions include rotating the user himself (avatar) right or left 36degrees, 180 degrees or 360 degrees.

Talking with others:

This capability is implemented by opening the “Chat” window in“View.Chat” menu and entering a message from the keyboard 49 a into thebottom input column.

Multi-user worlds:

The following three multi-user worlds are provided by the sample CD-ROM101. It should be noted that chat can be made throughout these threeworlds commonly.

(1) Chat Room

This is a room in which chat is made mainly. Some objects in this roomare shared among multiple users. There are objects which are madegradually transparent every time the left button of the mouse ispressed, used to turn off room lights, and hop when clicked, by way ofexample. Also, there are hidden holes and the like.

(2) Play with a ball!!

When a ball in the air is clicked, the ball flies toward the user whoclicked the ball. This ball is shared by all users sharing that space toplay catch.

(3) Share your drawing

A whiteboard is placed in the virtual space. When it is clicked by theleft button, the shared whiteboard is displayed. Dragging with the leftbutton draws a shape on the whiteboard, the result being shared by theusers sharing the space.

Use of Community Place Bureau allows the users using Community PlaceBrowser to enter together a world described in VRML 1.0. To provide athree-dimensional virtual reality space for enabling this capability, afile described in VRML 1.0 must be prepared. Then, the Bureau (CommunityPlace Bureau being hereinafter appropriately referred to simply as theBureau) is operated on an appropriate personal computer. Further, a linetelling the personal computer on which Bureau is operating is added tothe VRML 1.0 file. The resultant VRML file is read into Community PlaceBrowser (hereinafter appropriately referred to simply as the Browser),the Browser is connected to the Bureau.

If this connection is successful, the users in the virtual world can seeeach other and talk each other. Further, writing an appropriate scriptinto the file allows each user to express emotions through a use ofaction panel (“Action” part in a multi-user window 202 of FIG. 29 to bedescribed).

Community Place Browser provides interface for action descriptionthrough use of TCL. This interface allows each user to provide behaviorsto objects in the virtual world and, if desired, make the resultantobjects synchronize between the Browsers. This allows a plurality ofusers to play a three-dimensional game if means for it are prepared.

To enjoy a multi-user virtual world, three steps are required,preparation of a VRML file, start of the Bureau, and connection of theBrowser.

Preparing a VRML file:

First, a desired VRML. 1.0 file must be prepared. This file is createdby oneself or a so-called freeware is used for this file. This filepresents a multi-user virtual world.

Starting the Bureau:

The operating environment of Community Place Bureau is as follows: CPU486 SX or higher OS Window 95 Memory 12 MB or higher

This Bureau can be started only by executing the downloaded file. Whenthe CyberPassage Bureau is executed, only a menu bar indicating menus isdisplayed as shown in FIG. 27. Just after starting, the Bureau is instopped state. Selecting “status” by pulling down “View” menu displaysthe status window that indicates the current the Bureau state. At thesame time, a port number waiting for connection is also shown.

Immediately after starting, the Bureau is set such that it waits forconnection at TCP port No. 5126. To change this port number, pull down“options” menu and select “port”. When entry of a new port number isprompted, enter a port number 5000 or higher. If the user does not knowwhich port number to enter, default value (5126) can be used.

To start the Bureau from the stopped state, pull down “run” menu andselect “start”. The server terminal comes to be connected at thespecified port. At this moment, the state shown in “status” windowbecomes “running”.

Thus, after completion of the bureau preparations, when the Browsercomes to connect to the Bureau, it tells the position of the Browser toanother Browser or transfers information such as conversation andbehavior.

The “status” window of the Bureau is updated every time connection ismade by the user, so that using this window allows the user to make sureof the users existing in that virtual world.

Connection of the Browser:

Connection of the Browser requires the following two steps. First,instruct the Browser to which Bureau it is to be connected. This is doneby writing an “info” node to the VRML file. Second, copy the user'savatar file to an appropriate direction so that you can be seen fromother users.

Adding to a VRML file:

When writing a line specifying the Bureau to be connected to the VRMLfile, a name of the personal computer on which the Bureau is operatingand the port number must be specified in the following format:DEFVsServer Into {string “server name:port number”}

The server terminal name is a machine name as used in the Internet onwhich the Bureau is operating (for example, fred.research.sony.com) orits IP address (for example, 123.231.12.1). The port number is one setin the Bureau.

Consequently, the above-mentioned format becomes as follows for example:

-   -   DEF VsServer Info {string “fred.research.sony.com:5126”}

In the example of FIG. 25, the IP address of the shared server terminal11-1 is 43.0.35.117, so that the above-mentioned format becomes asfollows:

-   -   DEF VsServer Info {string “43.0.35.117:5126”}

This is added below the line shown below of the prepared VRML file:

-   -   VRML V1.0 ascii

Copying an avatar file:

When Community Place Browser gets connected to Community Place Bureau,the former notifies the latter of its avatar. When a specific avatarmeets another, the Bureau notifies the other Browsers of the meetinginformation to make the specific avatar be displayed on the otherBrowsers. For this reason, it is required to copy the VRML file of thespecific avatar to an appropriate place in advance.

The following further describes the operation of the browser (CommunityPlace Browser).

In the following description, the description format of VRML 2.0 (TheVirtual Reality Modeling Language Specification Version 2.0) publicizedon Aug. 4, 1996 is presupposed. Also, in the following description, itis supposed that the browser correspond to VRML 2.0 and be capable ofdecoding a file described in this VRML 2.0 and displaying itsthree-dimensional virtual reality space.

The details of the VRML 2.0 specifications are publicized at:

-   URL=http://www.vrml.org/Specifications/VRML2.0/

Further, the details of the Japanese version of the VRML 2.0specifications are publicized at:

-   URL=http://www.webcity.co.jp/info/andoh/VRML/vrml2.    0/spec-jp/index.html

FIG. 27 shows a display example of the display device 45 of the clientterminal 13 in the preferred embodiment of the present invention. Asshown in the figure, a main window 211 and a multiuser window (subwindow) 212 are displayed in one screen. The main window 211 displays animage corresponding to the sight line of an avatar, which is an alterego of a user, in a three-dimensional virtual reality space. Themultiuser window 212 displays the communication contents of a chat to beperformed with another avatar in the three-dimensional virtual realityspace. When the user moves the multiuser window 212 to a predeterminedposition in the screen, the processing as shown in a flowchart of FIG.28 is performed on the client terminal 13.

First, in step S51, the user moves the cursor onto the multiuser window212 by operating the mouse 49 b and clicks it. Then, the user performs aso-called drag operation for moving the cursor to a desired position.When the cursor has reached the desired display position, the userclears dragging.

Next, in step S52, it is determined whether horizontal distance L of themultiuser window 212 to the main window 211 is smaller than a presetpredetermined reference value L_(R). To be more specific, as shown inFIG. 29, the reference value L_(R) as the horizontal separated distanceand a reference value H_(R) as a vertical separated distance are presetbetween the main window 211 and the multiuser window 212. If thedistance L is found larger than this reference value L_(R), then, instep S53, the multiuser window 212 is displayed at the position at whichthe drag operation has been cleared.

If, in step S52, the distance L between the main window 211 and themultiuser window 212 is found equal to or smaller than the referencevalue LR, then, in step S54, it is determined whether distance H betweenthe top side of the main window 211 and the top side of the multiuserwindow 212 is larger than preset reference value H_(R). If the distanceH is found larger than the reference value H_(R), then, in step S55,processing for displaying the multiuser window 212 is performed suchthat the distance L becomes 0.

To be more specific, as shown in FIG. 30, the multiuser window 212indicated by a dashed line is automatically horizontally moved to theleft to a position indicated by a solid line at which the right side ofthe main window 211 touches the left side of the multiuser window 212and is displayed there. This displays the main window 211 and themultiuser window 212 without unnecessary interval between the mainwindow 211 and the multiuser window 212 in the horizontal direction.Consequently, the space efficiency in the horizontal direction isenhanced.

On the other hand, if, in step S54, the distance H between the top sideof the main window 211 and the top side of the multiuser window 212 isfound equal to or smaller than the reference value H_(R), then, in stepS56, the multiuser window 212 is displayed such that not only thedistance L but also the distance H becomes 0.

For example, as shown in FIG. 31, if a drag operation is cleared at aposition indicated by a dashed line, the multiuser window 212 isautomatically moved further to a position indicated by a solid line inthe upper left direction. And, the right side of the main window 211 ismade touch the left side of the multiuser window 212 and the top side ofthe main window 211 and the top side of the multiuser window 212 arepositioned on the same horizontal line. This enhances the spaceefficiency in not only the horizontal direction but also the verticaldirection.

For example, as shown in FIG. 27, if dragging of the multiuser window212 is cleared at a position slightly separated from the main window 211and if distances L and R between the multiuser window 212 and the mainwindow 211 are smaller than the reference values LR and HR respectively,the multiuser window 212 is automatically moved further in the upperleft direction and displayed as shown in FIG. 32.

To be more specific, if the drag operation is cleared after themultiuser window 212 has been moved to a distance within the referencevalues LR and HR. (each of these values may be 10 pixels for example),it is determined that the user has an intention of touching themultiuser window 212 to the main window 211 and the display position ofthe multiuser window 212 is automatically adjusted correctly withoutrequiring the user to finely adjust the display position. This allowsthe user to perform prompt window moving operations.

If the distances L and H are found larger than the reference valuesL_(R) and H_(R), it is determined that the user has no intention ofarranging the multiuser window 212 in contact with the main window 211and hence intends to display the multiuser window 212 at that positionseparated away from the main window 211. Consequently, the multiuserwindow 212 is displayed at that position. This does not prevent the userfrom moving the multiuser window 212 to any desired position.

So far, the description has been made by use of the main window 211 andthe multiuser window 212 for example. It will be apparent that windowsare not restricted to these two windows. The present invention isapplicable when a main window for display main information and a subwindow for displaying information accompanying the main information aredisplayed in a single screen.

The invention has been described about an example in which the Internetis used as the network 15 and WWW is used. It will be apparent that thepresent invention can also be implemented by use of a broadbandcommunication network other than the Internet or a system other thanWWW.

As described and according to the image display processing apparatusdescribed in claim 1, the image display processing method described inclaim 5, and the information providing medium described in claim 6, ifthe display position of a sub window for displaying informationaccompanying main information displayed in a main window is moved byuser and if the separated distance of the sub window to be displayed atthis moved position to the main window is within a preset predeterminedvalue, the sub window is automatically moved to a position adjacent tothe main window. This novel constitution allows efficient arrangement ofa plurality of windows by effective use of a display screen.

While the preferred embodiments of the present invention have beendescribed using specific terms, such description is for illustrativepurposes only, and it is to be understood that changes and variationsmay be made without departing from the spirit or scope of the appendedclaims.

1-12. (canceled).
 13. An image display processing method for displayingin a single display window a main window for displaying main informationand a sub window for displaying accompanying information associated withsaid main information, comprising the steps of: moving said sub windowfrom a first position, at which said sub window is initially displayed,to a user-specified position; and automatically moving said sub windowto a position adjacent to said main window without altering a height ora width of said sub window when said sub window is separated from saidmain window by a distance less than a preset predetermined value when insaid user-specified position; said main window and said sub-window eachhaving a size that remains independent of the size of the other aftersaid automatic movement.
 14. An information providing medium forproviding a computer program to be executed by an image displayprocessing apparatus for displaying in a single display window a mainwindow for displaying main information and a sub window for displayingaccompanying information associated with said main information, saidcomputer program comprising the steps of: moving said sub window from afirst position, at which said sub window is initially displayed, to auser-specified position; and automatically moving said sub window to aposition adjacent to said main window when said sub window is separatedfrom said main window by a distance less than a preset predeterminedvalue when in said user specified position; said main window and saidsub-window each having a size that remains independent of the size ofthe other after said automatic movement.
 15. The image displayprocessing method according to claim 5, wherein, when saiduser-specified position is such that a vertical distance between anupper side of said sub window and an upper side of said main window isless than said preset predetermined value said automatic movement stepcomprises moving said sub window such that an upper side thereof comesinto alignment with an upper side of said main window.
 16. The imagedisplay processing method according to claim 5, wherein said main windowdisplays a three-dimensional virtual reality space image correspondingto three-dimensional graphics data, and; said sub window displayscontent of a chat performed via an avatar, which is an alter ego of auser and movable within said three-dimensional virtual reality space.17. The image display processing method according to claim 8, whereinsaid three-dimensional graphics data is described in VRML (VirtualReality Modeling Language).
 18. The image providing medium according toclaim 6, wherein, when said user-specified position is such that avertical distance between an upper side of said sub window and an upperside of said main window is less than said preset predetermined valuesaid automatic movement step comprises moving said sub window such thatan upper side of said sub window comes into alignment with an upper sideof said main window.
 19. The image providing medium according to claim6, wherein: said main window displays a three-dimensional virtualreality space image corresponding to three-dimensional graphics data;and said sub window displays content of a chat performed via an avatar,which is an alter ego of a user and movable within saidthree-dimensional virtual reality space.
 20. The image providing mediumaccording to claim 11, wherein said three-dimensional graphics data isdescribed in VRML (Virtual Reality Modeling Language).